# coding:utf-8

# 7、fun(*args,**kwargs)中的*args,**kwargs什么意思？

# *args 和 **kwargs 主要用于函数定义。你可以将不定数量的参数传递给一个函数。
# 这里的不定的意思是：预先并不知道，函数的使用者会传递多少个参数给你，所以在这个场景下使用这两个关键字。
# *args 是用来发送一个非键值对的可变数量的参数列表给一个函数。例子如下：

def demo(args_f, *args_v):
    print(args_f)
    for x in args_v:
        print(x)


demo('a', 'b', 'c', 'd')
# a
# b
# c
# d

# **kwargs 允许你将不定长度的键值对，作为参数传递给一个函数。
# 如果你想要在一个函数里处理带名字的参数，你应该使用 **kwargs。例子如下：


def demo(**args_v):
    for k, v in args_v.items():
        print(k, v)


demo(name='njcx')  # name njcx
